home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / SECURITY / 0058.ZIP / PC-CODE1.DOC < prev    next >
Text File  |  1984-02-09  |  9KB  |  211 lines

  1.  
  2. To begin execution of PC-CODE1 or PC-CODE2, just type these names
  3. in PC DOS or type PC-MENU. For example:  "A> PC-MENU "
  4.  
  5.  
  6. PC-CODE1 is intended to encode/decode files only. It does this
  7. thru a process known as super-encipherment. This means that
  8. each character of plain text (uncoded text) is both scrambled
  9. (transposed) as well as substituted for some random "other"
  10. character.
  11.  
  12. Keys may Optionally be Loaded or Saved to a FILE. The data format
  13. of such a file is 25 KEY numbers (between 1 & 2,147,483,646)
  14. each separated by A Carriage Return (on separate lines); And
  15. finally a 26th line of required Comment/Remark Information.
  16. An example of a key file is "SAMPLE.KEY". You can display
  17. this file by typing one of the following in DOS.
  18.  
  19.      A> TYPE SAMPLE.KEY
  20.  
  21.            <OR>
  22.  
  23.      A> COPY SAMPLE.KEY LPT1:
  24.  
  25.  
  26. A key file may be generated in PC DOS by the Following:
  27.  
  28.      A> COPY CON: MYKEY.KEY
  29.         2028841238
  30.         156091745
  31.         1551901393
  32.         590357944
  33.         ..........
  34.         ..........     [a total of 25 numbers]
  35.         ..........
  36.         109941534
  37.         2110010604
  38.         * This is my remarks 01/31/84 7:56 PM  PC-CODE1 V1.50
  39.         ^Z  {Ctrl-Z}  {ENTER}
  40.  
  41. If a key file is not used the following discussion applies:
  42. There are two levels of security "LOW" and "HIGH". If you
  43. elect the LOW level you will only have to enter 7 key
  44. (SEED) numbers or in the case of alphanumeric keys 7
  45. passwords of 5 or more characters. Actually, the longer
  46. the passwords - the better. An Ideal password length would
  47. seven passwords of 8 characters each.
  48.  
  49.  
  50. If you elect HIGH security be prepared to enter up to 25
  51. numbers between 1 and 2,147,483,646; or a minimum of 180
  52. characters of alphanumeric passwords. It is best, the first
  53. time thru to elect LOW security for testing purposes.
  54. Why so many characters are required in the HIGH ALPHA mode security
  55. is due to the additional insecurity of letters/words/phrases
  56. and that the Randomizing (hashing) routine requires 6 characters
  57. to generate a uniformly random Number (used internally). If the
  58. users' alphanumeric passwords were perfectfully random and
  59. all 256 possible characters could be typed at a 47 key keybroad,
  60. there would only be a need for 4 characters to generate this number.
  61.  
  62. The user must provide a series of keys (a minimum of 7) which
  63. may either be numeric (i.e. characters "0123456789") or
  64. alphanumeric which includes any character on your IBM PC
  65. keybroad. This includes alphabetics, numerics, and special
  66. symbols like  "!@#$%^&*()=+?:.<>[]~{}"  and so forth.
  67. Each of these keys should be chosen at random, and each
  68. should be different. For alphanumeric keys, the following
  69. is a good example:
  70.  
  71.  
  72.        GOOD KEY  ---> "Z$x!Un{y%C2&>"
  73.  
  74.        BAD KEY   ---> "ENGLISH WORDS"
  75.  
  76.  
  77. It is very poor to use anything that could be found in a
  78. dictionary or encyclopedia for a key.
  79.  
  80.  
  81. For Numeric keys, the best choices might numbers chosen
  82. randomly from a telephone book or a serial numbers on a
  83. Dollar bill. It is considered unprofessional to use numbers
  84. like - you birth date; social security number; or Military
  85. service numbers. Of course, for testing numbers like 1,2,3,4,
  86. 5,6,7 are great to test out the programs. Example of keys:
  87.  
  88.  
  89.        GOOD KEYS ---> 1095572    6712950   4007173   935506
  90.  
  91.        BAD KEYS  ---> 1          1         84        0
  92.  
  93.        INVALID   ---> 1,000,000  7.712355  -679811   6566710-
  94.  
  95.  
  96. Note that it is Invalid to include commas within key numbers.
  97. Also, note that numeric keys are positive Integers greater
  98. than zero. For best results, numeric keys should be 6 digits
  99. at least.
  100.  
  101.  
  102. Input and output must be to and from a valid IBM PC file.
  103. The same file may be used for both input and output for PC-CODE1
  104. only. This is however, not recommended. Input/output must NOT
  105. the Console or Printer. PC-CODE1 supports only File Input/Output.
  106.  
  107.  
  108. Never forget your keys, or lose them as it is impossible to
  109. decipher the outputed code. Also, never attempt to encode   
  110. and decode data with different version of these programs.
  111.  
  112.  
  113. PC-CODE1 will successfully encipher/decipher Binary files
  114. such as those with ".COM" and ".EXE" file extensions.
  115. PC-CODE1 works on files as sectors of 512 characters and
  116. generates binary codes using all 256 possible 8-bit characters
  117. (000 thru 255). The Encoded output of PC-CODE1 is not suitable
  118. for printing, since many of these binary characters will drive
  119. your printer bananas (hence only files in and out). PC-CODE1
  120. output files are rounded up to the next 512 byte sector
  121. boundary. This will not distort you data, since all end of file
  122. marks and carriage returns/line feeds are successfully also
  123. encoded and decoded. Padding of Nulls (hexadecimal 00) are
  124. sometimes added to the end of files for this rounding.
  125. On decoding a file, these padding characters usually are
  126. transparent due to the normal end-of-file character following
  127. them; hence they are not seen.
  128.  
  129.  
  130. If you use this routine for Communications via some serial Port
  131. it is best to change the the binary output code to hexadecimal
  132. characters (two hexs characters per binary character).
  133.  
  134.  
  135. The pseudo-random number generator used has a period of greater
  136. than 1.98E+233 or 1.98 times ten raised to the 233th power.
  137. By comparison the National Bureau of Standards DES algorithm
  138. has a period less than 7.21E+16 (or about 2 to the 56th power).
  139. The PC-CODE algorithm uses a MINIMUM of 775 bits (96 characters).
  140. It is likely that systems based on 8 or 16 characters are not
  141. very secure based on todays computer hardware/software technology.
  142. To evaluate PC-CODE would be to visualize a Safe with 25 dials -
  143. each with graduations between 1 and 2,147,483,646. A typical
  144. combination office safe might have 4 numbers each between 1 and 100.
  145.  
  146.  
  147. The Programs PC-CODE1 and PC-CODE2 are meant to be compiled
  148. by IBM's BASCOM BASIC Compiler and NOT for IBM's BASICA/BASIC.
  149. The Micro Ware Corporation also makes a 8087 Compiler called
  150. 87BASIC (or 87BASCOM) which will increase execution speeds
  151. many many times (maybe 40 times faster). In either case,
  152. when these programs are compiled the "O" and "T" options
  153. should be specified. For example:    B> A:BASCOM/O/T
  154.  
  155.  
  156. The ".EXE" files provided have been compiled by the 8088 version
  157. or IBM BASCOM. Since, double precision floating point is used
  158. in the pseudo-random algorithm the 8087 compiler is a must for
  159. timely and rapid execution; especially for large files.
  160.  
  161.  
  162. With the introduction of version 1.50 of PC-CODE 1 & 2, an
  163. cryptologic audit trail has been added. What this means is that
  164. the programs checks itself statistically. It tabulates, what
  165. random characters it generates. It analyzes the combination of
  166. keys selected by the user. It checks (Debug Stats) the
  167. transposition or scrambling of characters to see what percent
  168. of the plain text is Scrambled close to the last permutation (T1)
  169. and what percent of the characters remained in the original positions
  170. (coincidence T2) as the input text. A good measure of good percentages
  171. would be less than 3%. As far as character outputs, don't expect
  172. to get exactly the same number of counts for each character (0-255).
  173. However, as more and more characters are encoded, the counts should
  174. get closer to even. The program should however generate every possible
  175. character for moderate sized files. Random key selection can improve
  176. all of the above factors. The user may specify a file to store these
  177. statistics or print them (LPT1:). If a file is not specified and the
  178. user merely presses ENTER, then the default file generated will be
  179. called "PC-STAT1.LOG" (for PC-CODE1) or "PC-STAT2.LOG" (for PC-CODE2).
  180. A sample of each of these has been provided on the distribution
  181. diskette.   A> COPY PC-STAT1.LOG  LPT1:
  182.  
  183. A listing of all Documentation files may obtained by typing in PC-DOS
  184.  
  185.            A> DIR *.DOC
  186.  
  187. Also typing "PC-HELP" will use some usefull documentation tips.
  188.  
  189.            A> PC-HELP
  190.  
  191.  
  192. These programs have been copyrighted in the Public Domain and
  193. authored by:
  194.  
  195.  
  196.             Richard Nolen Colvard
  197.             1745 Winona Blvd, Apt #21
  198.             Los Angeles, Calif. 90027
  199.  
  200.  
  201.  The above material and PC-CODE software contains no material
  202.  relating to the National Security of the United States of
  203.  America as defined by the United States Code. However, distribution
  204.  to Foreign Nations or Agents is prohibited by the directives of
  205.  the National Security Agency. (NOT FOR EXPORT).
  206.  
  207.  Both the Author and/or Distributor assume no liability for
  208.  any lost of data or business as a result of usage of the
  209.  PC-CODE programs; which are Public Domain Freeware.
  210. 1) or "PC-STAT2.LOG" (for PC-CODE2).
  211. A sample of each of these has been provided on the distribution